#include <func.h>
// 进程状态枚举值
enum{
    BUSY,
    FREE
};
// 会话进程属性
typedef struct conversation_status_t{
    int pid;  
    int status;
    int socket_local_fd;
}conversation_status_t; 
// 创建文件名、文件内容结构体
typedef struct train_s
{
    int len;
    char buf[1000];
}train_t;
// 初始化会话进程池
int initConversationPool(conversation_status_t * ConversationPool,int i);
// 初始化Socket网络连接
int initClientSocket(int* SockFd,char *ip,char *port);
// 向epoll集合中添加监视文件描述符
int epollAdd(int SockFd,int EpollFd);
// 将新的文件描述符所指指针拷贝给子进程池
int toConversationPool(int NetFd,conversation_status_t *ConversationPool,int i);
// 开启子进程
int starSon(int SonFd);
// 将收到的NetFd拷贝给空闲进程
int copyNetFd(int * NetFd,int fd);
// 通过本地socketfd读取父进程接收的NetFd
int readNetFd(int SonFd,int *NetFd);
// 接收客户端信息
int netConversation(int NetFd);
// 给客户端发送指定文件
int fileSend(int NetFd);



